package day02;

public class DateTypeDemo {
    public static void main(String[] args) {
        /*类型间的转换:
        数据类型由小到大依次为:    byte<short<int<long<float<double        char<int

        两种方式:
         自动转:小类型到大类型
         强制转:大类型到小类型
         int a = 5;
         long b = a;  自动转
         int c = (int)b; 强制转

         long d = 5;
         double e = 5;
         long f = 10000000000L;
         int g = (int)f;
         System.out.println(g);         强转有可能发生溢出

         double h = 25.978;
         int i = (int)h;
         两种规则:
         整数直接量可以直接赋值给byte,short,char,但不能超出范围
         byte，short，char型数据参与运算时，系统一律将其转换为int在运算
        System.out.println(2+2);    ==4
        System.out.println(2+'2');  ==52
        System.out.println('2'+'2');==100   '2'的码为50
        System.out.println('2');    ==2

        int a = '我';    看字符对应的码
          System.out.println(a);  '我'的码
        char b = 65;   看码对应的字符
          System.out.println(b);  A
         */


        /*
        //char 2个字节   0------48     A------65      a------97
        char c1 =  '女';
        char c2 =  'f';
        char c3 =  '6';
        char c4 =  ' ';
        //char c5 =  女;    编译错误，字符直接量必须放在单引号中
        //char c6 =  '';   编译错译，必须有字符·
        //char c7 =  '10';   编译错误，只能有一个字符
        char c8 = 65;//0到65535直接
        System.out.println(c8);       //println()会依据c8的类型来做输出类型

         */


        /*
        boolean :布尔型，1个字节，只能储存true和false。
         boolean a = true;   // true   为布尔型直接量
         boolean b = false; //  false  为布尔型直接量

         */



        /*
        double :浮点型，8个字节，很大很大很大
        double a = 25.678;   小数直接量默认为double类型
        float  b = 25.678F;  25.678F为float型直接量
         */


        /*
        //long 长整型  8个字节    -900万万亿多到900万万亿多
        long a = 25L; //25L为长整型直接量
        //long b = 10000000000    编译错误，100亿默认为int类型，但超出其范围
        long c = 10000000000L; //100L为长整型直接量
        long e = 1000000000*2*10L;
        // long f = 1000000000*3*10L;   不是300亿，是溢出部分的十倍

         */


        /*
        //int 整形，4个字节         -20多亿到20多亿
        int a = 250;
        //int b = 10000000000;编译错误，100亿超出int类型范围
        //int c = 25.678;  整数变量中只能装整数
        System.out.println(5/2);
        System.out.println(2/5);
        System.out.println(5/2.0);
        int d = 2147483647; //int 的最大值
        d = d+1;
        System.out.println(d);

         */
    }
}






